﻿Imports Persistencia
Public Class frmUsuario

#Region " Variáveis "

    Private objUsuario As New Controle.ctrUsuario
    Private objSeguranca As New Controle.ctrSeguranca
    Private iIDUsuario As Integer
    Private iIDGrupoAcesso As Integer

#End Region

#Region " Métodos "

    Private Sub frmUsuario_alteraModo(ByVal eModoAtual As DSFronteiraPadrao.frmPadrao.eModo) Handles Me.alteraModo

        Try
            If eModoAtual = eModo.eAguardando Then
                Me.fraGeral.Enabled = False
                Me.cmdSelecionarUsuario.Enabled = True
            Else
                Me.fraGeral.Enabled = True
                Me.cmdSelecionarUsuario.Enabled = False
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try

    End Sub

    Private Sub frmUsuario_carregaDados(ByVal iChave As Integer) Handles Me.carregaDados

        Dim dsUsuario As New DataSet
        Try

            If (iChave > 0) Then

                dsUsuario = Me.objUsuario.Selecionar(iChave)

                If dsUsuario.Tables(0).Rows.Count > 0 Then
                    With dsUsuario.Tables(0).Rows(0)
                        Me.iIDUsuario = Conversao.ToInt32(.Item("IDUsuario"))
                        Me.txtNome.Text = Me.objSeguranca.descriptografar(Conversao.ToString(.Item("Nome")))
                        Me.txtLogin.Text = Me.objSeguranca.descriptografar(Conversao.ToString(.Item("Login")))
                        Me.txtSenha.Text = Me.objSeguranca.descriptografar(Conversao.ToString(.Item("Senha")))
                    End With
                End If

            End If

        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try

    End Sub

    Private Sub frmUsuario_gravar(ByRef bCancel As Boolean) Handles Me.gravar

        Dim bRetorno As Boolean
        Dim dsUsuarioEmpresa As New DataSet

        Try
            bCancel = True

            bRetorno = Me.objUsuario.salvar(Me.iIDUsuario, _
                                            Me.txtNome.Text, _
                                            Me.txtLogin.Text, _
                                            Me.txtSenha.Text)

            If Not bRetorno Then

                MyBase.Mensagens = Me.objUsuario.retornaMensagensValidacao

            Else
                bCancel = False
                Me.iIDUsuario = Me.objUsuario.IDUsuario
                MyBase.chave = Me.objUsuario.IDUsuario

            End If

        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try

    End Sub

    Private Sub frmUsuario_excluir(ByRef bCancel As Boolean) Handles Me.excluir
        Try
            If MsgBox("Deseja excluir o registro atual?", MsgBoxStyle.YesNo, Me.Text) = MsgBoxResult.Yes Then
                Me.objUsuario.excluir(Me.iIDUsuario)
            Else
                bCancel = True
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try
    End Sub

    Private Sub frmUsuario_setarProvedorDeErros() Handles Me.setarProvedorDeErros

        Dim iContadorMensagens As Int32
        Dim sMensagem As String
        Try
            For iContadorMensagens = 0 To MyBase.Mensagens(DSFronteiraPadrao.frmPadrao.eMensagem.Codigo).Count - 1

                sMensagem = MyBase.Mensagens(DSFronteiraPadrao.frmPadrao.eMensagem.Mensagem).item(iContadorMensagens)

                Select Case MyBase.Mensagens(DSFronteiraPadrao.frmPadrao.eMensagem.Codigo).item(iContadorMensagens)
                    Case Controle.ctrUsuario.eMensagens.NOME_OBRIGATORIO
                        Me.epPadrao.SetError(Me.cmdSelecionarUsuario, sMensagem)
                    Case Controle.ctrUsuario.eMensagens.LOGIN_OBRIGATORIO
                        Me.epPadrao.SetError(Me.txtLogin, sMensagem)
                    Case Controle.ctrUsuario.eMensagens.SENHA_OBRIGATORIA
                        Me.epPadrao.SetError(Me.txtSenha, sMensagem)
                    Case Controle.ctrUsuario.eMensagens.LOGIN_EXISTENTE
                        Me.epPadrao.SetError(Me.txtLogin, sMensagem)
                End Select

            Next
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try
    End Sub

    Private Sub frmUsuario_limpaProvedorDeErros() Handles Me.limpaProvedorDeErros
        Try
            Me.epPadrao.Clear()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try
    End Sub

    Private Sub frmUsuario_limpaCampo() Handles Me.limpaCampo
        Try
            MyBase.limpaCampos(Me)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try
    End Sub

    Private Sub frmUsuario_inserir(ByRef bCancel As Boolean) Handles Me.inserir
        Try
            Me.iIDUsuario = 0
            Me.iIDGrupoAcesso = 0
            MyBase.chave = 0
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try
    End Sub

    Private Sub cmdSelecionarUsuario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Try
            Dim sSql As String
            Dim frmDialogo As New frmPesquisa

            sSql = Me.objUsuario.sqlConsulta(0)

            With frmDialogo
                .DadosCriptografados = True
                .Sql = sSql
                .Titulo = "Pesquisa Usuários"
                .CarregaTela()
                If .DS.Tables(0).Rows.Count > 0 Then
                    .ShowDialog()
                    If (.DialogResult = Windows.Forms.DialogResult.OK) Then
                        MyBase.chave = Conversao.ToString(.ID)
                        Me.iIDUsuario = MyBase.chave
                        frmUsuario_carregaDados(MyBase.chave)
                        MyBase.alteraModopadrao(eModo.eAguardando)
                    End If
                Else
                    MsgBox("Registro não encontrado", MsgBoxStyle.Exclamation, Me.Text)
                    Exit Sub
                End If
            End With
        Catch ex As Exception
            MsgBox("Erro: " & ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try

    End Sub

#End Region

End Class